/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bkt.app.facade;

import bkt.conf.GetContext;
import bkt.service.app.AppEmployeeService;
import bkt.service.app.CheckinAndOutReportService;
import bkt.service.model.hr.DepartmentService;
import bkt.service.model.hr.EmployeePositionService;
import bkt.service.model.hr.EmployeeStatusService;
import bkt.service.model.hr.OfficeService;
import bkt.service.model.hr.attendance.AttendanceService;
import bkt.service.model.hr.attendance.CheckinService;
import bkt.service.model.hr.attendance.CheckoutService;
import bkt.service.model.hr.leave.*;
import bkt.service.model.person.ContactService;
import bkt.service.model.person.DemographicService;
import bkt.service.model.person.EmployeeService;
import bkt.service.model.person.IdentificationService;
import bkt.service.model.person.NameService;
import bkt.service.model.person.location.AddressService;
import bkt.service.model.person.location.AreaService;
import bkt.service.model.person.location.CityService;
import bkt.service.model.person.location.CountryService;
import bkt.service.model.person.location.DistrictService;
import bkt.service.model.person.location.LocationService;
import bkt.service.model.person.location.ProvinceService;
import bkt.service.model.person.location.SuburbService;
import org.springframework.context.ApplicationContext;

/**
 *
 * @author hashcode
 */
public class Facade {

    private ApplicationContext ctx;
    private EmployeeService employeeService;
    private AttendanceService attendanceService;
    private CheckinService checkinService;
    private CheckoutService checkoutService;
    private DepartmentService departmentService;
    private EmployeePositionService employeePositionService;
    private EmployeeStatusService employeeStatusService;
    private OfficeService officeService;
    private AddressService addressService;
    private AreaService areaService;
    private CityService cityService;
    private CountryService countryService;
    private DistrictService districtService;
    private LocationService locationService;
    private ProvinceService provinceService;
    private SuburbService suburbService;
    private ContactService contactService;
    private DemographicService demographicService;
    private IdentificationService identificationService;
    private NameService nameService;
    private CheckinAndOutReportService checkinAndOutReportService;
    private AppEmployeeService appEmployeeService;
    //============================
    private AnnualLeaveService annualLeaveService;
    private FamilyLeaveService familyLeaveService;
    private LeaveApplicationService leaveApplicationService;
    private LeaveMetaDataService leaveMetaDataService;
    private LeaveTypeService leaveTypeService;
    private MaternityLeaveService maternityLeaveService;
    private PaternityLeaveService paternityLeaveService;
    private SickLeaveService sickLeaveService;
    private SpecialLeaveService specialLeaveService;
    private UnpaidLeaveService unpaidLeaveService;

    public UnpaidLeaveService getUnpaidLeaveService() {
        ctx = GetContext.getApplicationContext();
        unpaidLeaveService = (UnpaidLeaveService) ctx.getBean("unpaidLeaveService");
        return unpaidLeaveService;
    }

    public SpecialLeaveService getSpecialLeaveService() {
        ctx = GetContext.getApplicationContext();
        specialLeaveService = (SpecialLeaveService) ctx.getBean("specialLeaveService");
        return specialLeaveService;
    }

    public SickLeaveService getSickLeaveService() {
        ctx = GetContext.getApplicationContext();
        sickLeaveService = (SickLeaveService) ctx.getBean("sickLeaveService");
        return sickLeaveService;
    }

    public PaternityLeaveService getPaternityLeaveService() {
        ctx = GetContext.getApplicationContext();
        paternityLeaveService = (PaternityLeaveService) ctx.getBean("paternityLeaveService");
        return paternityLeaveService;
    }

    public MaternityLeaveService getMaternityLeaveService() {
        ctx = GetContext.getApplicationContext();
        maternityLeaveService = (MaternityLeaveService) ctx.getBean("maternityLeaveService");
        return maternityLeaveService;
    }

    public LeaveTypeService getLeaveTypeService() {
        ctx = GetContext.getApplicationContext();
        leaveTypeService = (LeaveTypeService) ctx.getBean("leaveTypeService");
        return leaveTypeService;
    }

    public LeaveMetaDataService getLeaveMetaDataService() {
        ctx = GetContext.getApplicationContext();
        leaveMetaDataService = (LeaveMetaDataService) ctx.getBean("leaveMetaDataService");
        return leaveMetaDataService;
    }

    public LeaveApplicationService getLeaveApplicationService() {
        ctx = GetContext.getApplicationContext();
        leaveApplicationService = (LeaveApplicationService) ctx.getBean("leaveApplicationService");
        return leaveApplicationService;
    }

    public FamilyLeaveService getFamilyLeaveService() {
        ctx = GetContext.getApplicationContext();
        familyLeaveService = (FamilyLeaveService) ctx.getBean("familyLeaveService");
        return familyLeaveService;
    }

    public AnnualLeaveService getAnnualLeaveService() {
        ctx = GetContext.getApplicationContext();
        annualLeaveService = (AnnualLeaveService) ctx.getBean("annualLeaveService");
        return annualLeaveService;
    }

    public AppEmployeeService getAppEmployeeService() {
        ctx = GetContext.getApplicationContext();
        appEmployeeService = (AppEmployeeService) ctx.getBean("appEmployeeService");
        return appEmployeeService;
    }

    public CheckinAndOutReportService getCheckinAndOutReportService() {
        ctx = GetContext.getApplicationContext();
        checkinAndOutReportService = (CheckinAndOutReportService) ctx.getBean("checkinAndOutReportService");
        return checkinAndOutReportService;
    }

    public ContactService getContactService() {
        ctx = GetContext.getApplicationContext();
        contactService = (ContactService) ctx.getBean("contactService");
        return contactService;
    }

    public DemographicService getDemographicService() {
        ctx = GetContext.getApplicationContext();
        demographicService = (DemographicService) ctx.getBean("demographicService");
        return demographicService;
    }

    public IdentificationService getIdentificationService() {
        ctx = GetContext.getApplicationContext();
        identificationService = (IdentificationService) ctx.getBean("identificationService");
        return identificationService;
    }

    public NameService getNameService() {
        ctx = GetContext.getApplicationContext();
        nameService = (NameService) ctx.getBean("nameService");
        return nameService;
    }

    public AddressService getAddressService() {
        ctx = GetContext.getApplicationContext();
        addressService = (AddressService) ctx.getBean("addressService");
        return addressService;
    }

    public AreaService getAreaService() {
        ctx = GetContext.getApplicationContext();
        areaService = (AreaService) ctx.getBean("areaService");
        return areaService;
    }

    public CityService getCityService() {
        ctx = GetContext.getApplicationContext();
        cityService = (CityService) ctx.getBean("cityService");
        return cityService;
    }

    public CountryService getCountryService() {
        ctx = GetContext.getApplicationContext();
        countryService = (CountryService) ctx.getBean("countryService");
        return countryService;
    }

    public DepartmentService getdepartmentService() {
        ctx = GetContext.getApplicationContext();
        departmentService = (DepartmentService) ctx.getBean("departmentService");
        return departmentService;
    }

    public LocationService getLocationService() {
        ctx = GetContext.getApplicationContext();
        districtService = (DistrictService) ctx.getBean("districtService");
        return locationService;
    }

    public OfficeService getOfficeService() {
        ctx = GetContext.getApplicationContext();
        officeService = (OfficeService) ctx.getBean("officeService");
        return officeService;
    }

    public ProvinceService getProvinceService() {
        ctx = GetContext.getApplicationContext();
        provinceService = (ProvinceService) ctx.getBean("provinceService");
        return provinceService;
    }

    public SuburbService getSuburbService() {
        ctx = GetContext.getApplicationContext();
        suburbService = (SuburbService) ctx.getBean("suburbService");
        return suburbService;
    }

    public DepartmentService getDepartmentService() {
        ctx = GetContext.getApplicationContext();
        departmentService = (DepartmentService) ctx.getBean("departmentService");
        return departmentService;
    }

    public EmployeePositionService getEmployeePositionService() {
        ctx = GetContext.getApplicationContext();
        employeePositionService = (EmployeePositionService) ctx.getBean("employeePositionService");
        return employeePositionService;
    }

    public EmployeeStatusService getEmployeeStatusService() {
        ctx = GetContext.getApplicationContext();
        employeeStatusService = (EmployeeStatusService) ctx.getBean("employeeStatusService");
        return employeeStatusService;
    }

    public CheckoutService getCheckoutService() {
        ctx = GetContext.getApplicationContext();
        checkoutService = (CheckoutService) ctx.getBean("checkoutService");
        return checkoutService;
    }

    public CheckinService getCheckinService() {
        ctx = GetContext.getApplicationContext();
        checkinService = (CheckinService) ctx.getBean("checkinService");
        return checkinService;
    }

    public AttendanceService getAttendanceService() {
        ctx = GetContext.getApplicationContext();
        attendanceService = (AttendanceService) ctx.getBean("attendanceService");
        return attendanceService;
    }

    public EmployeeService getEmployeeService() {
        ctx = GetContext.getApplicationContext();
        employeeService = (EmployeeService) ctx.getBean("employeeService");
        return employeeService;
    }
}
